package com.qyhl.webtv.commonlib.utils.eventbus;


import com.qyhl.webtv.commonlib.entity.PushParametersBean;
import com.qyhl.webtv.commonlib.entity.circle.CircleHomeBean;
import com.qyhl.webtv.commonlib.entity.circle.ScoopListBean;
import com.qyhl.webtv.commonlib.entity.civilized.PracticeAcitivityBean;
import com.qyhl.webtv.commonlib.entity.microvideo.ClassicProgramNoticeBean;
import com.qyhl.webtv.commonlib.entity.shop.ShopAddressListBean;

import java.util.List;

/**
 * Created by qyhl on 2017/7/28.
 */

public class Event {

    public static class PracticeHomeNewsRefresh implements IBus.IEvent {
        private String sectionId;

        public String getSectionId() {
            return sectionId;
        }

        public PracticeHomeNewsRefresh(String sectionId) {
            this.sectionId = sectionId;
        }

        @Override
        public int getTag() {
            return 0;
        }
    }

    public static class PracticeHomeActRefresh implements IBus.IEvent {
        private List<PracticeAcitivityBean> beanList;

        public List<PracticeAcitivityBean> getBeanList() {
            return beanList;
        }

        public PracticeHomeActRefresh(List<PracticeAcitivityBean> beanList) {
            this.beanList = beanList;
        }

        @Override
        public int getTag() {
            return 0;
        }
    }

    public static class PracticeScoreRefresh implements IBus.IEvent {
        public PracticeScoreRefresh() {
        }

        @Override
        public int getTag() {
            return 0;
        }
    }

    public static class PracticeCenterRefresh implements IBus.IEvent {
        private int type;

        public int getType() {
            return type;
        }

        public PracticeCenterRefresh(int type) {
            this.type = type;
        }

        @Override
        public int getTag() {
            return 0;
        }
    }

    public static class PracticeActRefresh implements IBus.IEvent {
        private int type;

        public PracticeActRefresh(int type) {
            this.type = type;
        }

        public int getType() {
            return type;
        }

        @Override
        public int getTag() {
            return 0;
        }
    }

    /**
     * 收藏事件
     */
    public static class CollectMessage implements IBus.IEvent {
        private boolean isCollect;

        public CollectMessage(boolean isCollect) {
            this.isCollect = isCollect;
        }

        public boolean isCollect() {
            return isCollect;
        }

        @Override
        public int getTag() {
            return 2;
        }
    }


    /**
     * 登录,注销事件
     */
    public static class LoginMessage implements IBus.IEvent {
        private boolean isLogin;

        public LoginMessage(boolean isLogin) {
            this.isLogin = isLogin;
        }

        public boolean isLogin() {
            return isLogin;
        }

        @Override
        public int getTag() {
            return 1;
        }
    }

    /**
     * 内容点赞刷新
     */
    public static class refreshMessage implements IBus.IEvent {
        private ScoopListBean bean;

        public refreshMessage(ScoopListBean bean) {
            this.bean = bean;
        }

        public ScoopListBean getBean() {
            return bean;
        }

        @Override
        public int getTag() {
            return 11;
        }
    }

    public static class refreshVote implements IBus.IEvent {

        @Override
        public int getTag() {
            return 4;
        }
    }

    /**
     * 节目单节目
     */
    public static class RadioEvent implements IBus.IEvent {
        private int weekNum;
        private int menuNum;

        public RadioEvent(int weekNum, int menuNum) {
            this.weekNum = weekNum;
            this.menuNum = menuNum;
        }

        public int getWeekNum() {
            return weekNum;
        }

        public int getMenuNum() {
            return menuNum;
        }

        @Override
        public int getTag() {
            return 2;
        }
    }

    /**
     * 圈子评论事件
     */
    public static class CommentEvent implements IBus.IEvent {
        private CircleHomeBean bean;
        private int postion;
        private int uPos;

        public CommentEvent(CircleHomeBean bean, int postion, int uPos) {
            this.bean = bean;
            this.postion = postion;
            this.uPos = uPos;
        }

        public CircleHomeBean getBean() {
            return bean;
        }

        public int getPostion() {
            return postion;
        }

        public int getuPos() {
            return uPos;
        }

        @Override
        public int getTag() {
            return 0;
        }
    }

    /**
     * 活动评论
     */
    public static class ActivityEvent implements IBus.IEvent {
        public String getText() {
            return text;
        }

        private String text;

        public ActivityEvent(String text) {
            this.text = text;
        }

        @Override
        public int getTag() {
            return 0;
        }
    }

    public static class PlayerListRefresh implements IBus.IEvent {
        public PlayerListRefresh() {
        }

        @Override
        public int getTag() {
            return 0;
        }
    }

    public static class DoVote implements IBus.IEvent {
        public DoVote() {
        }

        @Override
        public int getTag() {
            return 0;
        }
    }

    /**
     * 圈子点赞刷新
     */
    public static class praiseRefreshEvent implements IBus.IEvent {
        public int topicId;

        //0 取消点赞 1 点赞
        public int type;

        public praiseRefreshEvent(int topicId, int type) {
            this.topicId = topicId;
            this.type = type;
        }

        public int getType() {
            return type;
        }

        public int getTopicId() {
            return topicId;
        }

        @Override
        public int getTag() {
            return 0;
        }
    }

    /**
     * 粉丝数刷新
     */
    public static class followNumRefresh implements IBus.IEvent {
        public followNumRefresh() {
        }

        @Override
        public int getTag() {
            return 0;
        }
    }

    /**
     * 全民关注首页刷新
     */
    public static class FollowHomeRefresh implements IBus.IEvent {
        public FollowHomeRefresh() {
        }

        @Override
        public int getTag() {
            return 0;
        }
    }

    public static class FollowDeatilRefresh implements IBus.IEvent {
        public FollowDeatilRefresh() {
        }

        @Override
        public int getTag() {
            return 0;
        }
    }

    /**
     * 全民关注热门页面刷新
     */
    public static class FollowHotRefresh implements IBus.IEvent {
        public FollowHotRefresh() {
        }

        @Override
        public int getTag() {
            return 0;
        }
    }

    /**
     * 用户信息变更
     */
    public static class FollowUserInfoRefresh implements IBus.IEvent {
        public FollowUserInfoRefresh() {
        }

        @Override
        public int getTag() {
            return 0;
        }
    }


    /**
     * 返回顶部
     */
    public static class backToTopEvent implements IBus.IEvent {
        //1最新动态  2好友动态
        private int type;

        public int getType() {
            return type;
        }

        public backToTopEvent(int type) {
            this.type = type;
        }

        @Override
        public int getTag() {
            return 0;
        }
    }

    public static class circleRefresh implements IBus.IEvent {
        private int topicId;

        public int getTopicId() {
            return topicId;
        }

        public circleRefresh(int topicId) {
            this.topicId = topicId;
        }

        @Override
        public int getTag() {
            return 0;
        }
    }

    /**
     * 圈子添加本地数据
     */
    public static class circleLocalAdd implements IBus.IEvent {
        private CircleHomeBean bean;

        public circleLocalAdd(CircleHomeBean bean) {
            this.bean = bean;
        }

        public CircleHomeBean getBean() {
            return bean;
        }

        @Override
        public int getTag() {
            return 0;
        }
    }

    public static class finishActivity implements IBus.IEvent {

        @Override
        public int getTag() {
            return 0;
        }
    }

    public static class MessageRefresh implements IBus.IEvent {
        private String type;

        public MessageRefresh(String type) {
            this.type = type;
        }

        public String getType() {
            return type;
        }

        @Override
        public int getTag() {
            return 0;
        }
    }


    public static class refreshCommentNum implements IBus.IEvent {
        private String commmentNum;

        public refreshCommentNum(String commmentNum) {
            this.commmentNum = commmentNum;
        }

        public String getCommmentNum() {
            return commmentNum;
        }

        @Override
        public int getTag() {
            return 0;
        }
    }

    public static class shareSuccess implements IBus.IEvent {

        @Override
        public int getTag() {
            return 0;
        }
    }

    public static class PracticeSignRefresh implements IBus.IEvent {
        private PracticeAcitivityBean bean;

        public PracticeSignRefresh(PracticeAcitivityBean bean) {
            this.bean = bean;
        }

        public PracticeAcitivityBean getBean() {
            return bean;
        }

        @Override
        public int getTag() {
            return 0;
        }
    }

    public static class ShopTopRefresh implements IBus.IEvent {
        private String msg;

        public ShopTopRefresh(String msg) {
            this.msg = msg;
        }

        public String getMsg() {
            return msg;
        }

        @Override
        public int getTag() {
            return 0;
        }
    }


    public static class pushSkip implements IBus.IEvent {
        private PushParametersBean bean;

        public pushSkip(PushParametersBean bean) {
            this.bean = bean;
        }

        public PushParametersBean getBean() {
            return bean;
        }

        @Override
        public int getTag() {
            return 0;
        }
    }

    public static class ClassicNotice implements IBus.IEvent {
        private ClassicProgramNoticeBean bean;

        public ClassicNotice(ClassicProgramNoticeBean bean) {
            this.bean = bean;
        }

        public ClassicProgramNoticeBean getBean() {
            return bean;
        }

        @Override
        public int getTag() {
            return 0;
        }
    }

    public static class ShopScoreRefresh implements IBus.IEvent {

        @Override
        public int getTag() {
            return 0;
        }
    }

    /**
     * 商城地址刷新
     */
    public static class ShopAddressRefreshEvent implements IBus.IEvent {
        private ShopAddressListBean bean;
        private boolean isFirst;

        public ShopAddressListBean getBean() {
            return bean;
        }

        public boolean isFirst() {
            return isFirst;
        }

        public ShopAddressRefreshEvent(ShopAddressListBean bean, boolean isFirst) {
            this.bean = bean;
            this.isFirst = isFirst;
        }


        @Override
        public int getTag() {
            return 0;
        }
    }

    public static class AddressDelete implements IBus.IEvent {
        private int id;

        public AddressDelete(int id) {
            this.id = id;
        }

        public int getId() {
            return id;
        }

        @Override
        public int getTag() {
            return 0;
        }
    }

    public static class AddressEdit implements IBus.IEvent {
        private int id;
        private String address;

        public AddressEdit(int id, String address) {
            this.id = id;
            this.address = address;
        }

        public int getId() {
            return id;
        }

        public String getAddress() {
            return address;
        }

        @Override
        public int getTag() {
            return 0;
        }
    }

    public static class commentAdd implements IBus.IEvent {

        @Override
        public int getTag() {
            return 0;
        }
    }

    public static class GiftRefresh implements IBus.IEvent {
        private int giftId;

        private int status;

        private int restNum;

        public GiftRefresh(int giftId, int status) {
            this.giftId = giftId;
            this.status = status;
        }

        public GiftRefresh(int giftId, int status, int restNum) {
            this.giftId = giftId;
            this.status = status;
            this.restNum = restNum;
        }

        public int getRestNum() {
            return restNum;
        }

        public int getGiftId() {
            return giftId;
        }

        public int getStatus() {
            return status;
        }

        @Override
        public int getTag() {
            return 0;
        }
    }

    public static class OrderRefresh implements IBus.IEvent {
        private int userGiftId;

        public OrderRefresh(int userGiftId) {
            this.userGiftId = userGiftId;
        }

        public int getUserGiftId() {
            return userGiftId;
        }

        @Override
        public int getTag() {
            return 0;
        }
    }

    public static class HomeFollowRefresh implements IBus.IEvent{
        private String dstUserName;
        private boolean isFollow;

        public HomeFollowRefresh(String dstUserName, boolean isFollow) {
            this.dstUserName = dstUserName;
            this.isFollow = isFollow;
        }

        public String getDstUserName() {
            return dstUserName;
        }

        public boolean isFollow() {
            return isFollow;
        }

        @Override
        public int getTag() {
            return 0;
        }
    }


}
